From 66048b2f92d000f426b40d54aa1f9267b2165b9b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 15 Jul 2010 19:23:27 +0200 Subject: [PATCH] style: Replace last gdk_draw_rectangle() with Cairo --- gtk/gtkstyle.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 2d1739de16..3cfb1c4b2b 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1525,18 +1525,20 @@ gtk_style_apply_default_background (GtkStyle *style, GDK_IS_PIXMAP (window) || (!set_bg && style->bg_pixmap[state_type] != (GdkPixmap*) GDK_PARENT_RELATIVE)) { - GdkGC *gc = style->bg_gc[state_type]; - + cairo_t *cr = gdk_cairo_create (window); + if (style->bg_pixmap[state_type]) { - gdk_gc_set_fill (gc, GDK_TILED); - gdk_gc_set_tile (gc, style->bg_pixmap[state_type]); + gdk_cairo_set_source_pixmap (cr, style->bg_pixmap[state_type], 0, 0); + cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); } - - gdk_draw_rectangle (window, gc, TRUE, - new_rect.x, new_rect.y, new_rect.width, new_rect.height); - if (style->bg_pixmap[state_type]) - gdk_gc_set_fill (gc, GDK_SOLID); + else + gdk_cairo_set_source_color (cr, &style->bg[state_type]); + + gdk_cairo_rectangle (cr, &new_rect); + cairo_fill (cr); + + cairo_destroy (cr); } else { -- 2.30.2